package eightSynchronized;

import lombok.extern.slf4j.Slf4j;

import java.util.concurrent.TimeUnit;

/**
 * @author： pang-yun
 * @date： 2021-10-14 19:57
 * 功能目的 ：用于
 *
 *c() 方法 没有加 锁  不会被另外两个 互斥锁影响
 *
 * 结果：  3  2  等3秒后  1
 *        2  3   等3秒后  1
 *        3   等三秒    1 2
 */

public class Three {
    public static void main(String[] args) {
        Num3 num3 = new Num3();
        new Thread(()->{ num3.a(); }).start();
        new Thread(()->{ num3.b(); }).start();
        new Thread(()->{ num3.c(); }).start();
    }
}



@Slf4j
class Num3{
    public synchronized void a(){
        try {
            TimeUnit.SECONDS.sleep(3);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        log.info("1");
    }
    public synchronized void b(){
        log.info("2");
    }
    public  void c(){
        log.info("3");
    }

}
